package com.zusmart.base.network.handler;

import java.io.IOException;

import com.zusmart.base.buffer.Buffer;
import com.zusmart.base.handler.HandlerChain;
import com.zusmart.base.network.ChannelContext;
import com.zusmart.base.network.message.Message;

public interface ChannelContextHandlerChain extends HandlerChain<ChannelContextHandler, ChannelContextHandlerContext, ChannelContextHandlerChain> {

	public ChannelContext getChannelContext();

	public void fireOnRegister();

	public void fireUnRegister();

	public void fireOnMessage(Message message);

	public void fireOnException(Throwable cause);

	public void fireOnTimeout();

	public void fireOnReader(Buffer buffer) throws IOException;

}